iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
Software Development

設計師怎麼學 PHP系列 第 7

Day07 PHP的內建函式 header()

  • 分享至 

  • xImage
  •  

header(宣告字串[,是否取代原來的宣告 [,http 回應碼]])

header() 使用的注意事項

  1. 必須是最優先送出,這之前不能使用 echo() 或 print()
  2. 必須在標籤之前使用

重新導向

可以搭配 Location 前往指定的頁面

header("Location: https://www.google.com.tw");

Location 後面接的網址必須是絕對位址
在PHP中可以使用以下語法,將相對路徑轉換為絕對路徑

  • $_SERVER['HTTP_HOST']

    可以獲取當前 HTTP 請求中主機指定的網站域名或 IP 位址。
    例如,用戶訪問網址 https://www.example.com/page.php,而$_SERVER['HTTP_HOST'] 將包含 "www.example.com"

  • $_SERVER['PHP_$_SERVER']
    $_SERVER 是一个包含了header、路徑(path)、脚本位置(script locations)等信息的 array。

    可以使用$_SERVER['PHP_SELF'] 讓用戶拜訪 https://www.example.com/page.php這段網址的 page.php 的內容,$_SERVER['PHP_SELF']的作用是讓指定的根目錄下的文件,對應到網址上(詳細來源php.net

  • dirname()
    dirname(string $path, int $levels = 1): string
    path 是路徑的意思,在 windows 可以使用「/」、「\」來作為目錄的區分符號,但是在其他環境下都只認得「/」這個符號,簡單來說,我們只要記「/」這個符號就行啦(喂)
    levels 則是向上的父層目录的層數,只能填寫整數,別人就無法看到完整的路徑

echo dirname("/testweb/file/home.php", 2);
//"/testweb"
echo dirname("/testweb/file/home.php");
//"/testweb/file"    

如果有寫levels的數字,從 home.php 為 0 開始往前數到 2,就只會顯示 /testweb 的路徑,如果沒有寫數字,預設都是 0 ,會直接把 0 的位置隱藏


上一篇
Day06 PHP 的 goto
下一篇
Day08 PHP的 die(), exit(), sleep()
系列文
設計師怎麼學 PHP10
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言